package com.xzxy.xmlg_backend.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * <p>
 * 企业智能组织管理系统操作日志表
 * </p>
 *
 * @author 周毅盛
 * @since 2025-06-13
 */
@TableName("operation_log")
@ApiModel(value = "OperationLog对象", description = "企业智能组织管理系统操作日志表")
public class OperationLog implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 序号，自增主键
     */
    @ApiModelProperty("序号，自增主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 用户名称
     */
    @ApiModelProperty("用户名称")
    private String userName;

    /**
     * 操作类型
     */
    @ApiModelProperty("操作类型")
    private String operationType;

    /**
     * 操作方法
     */
    @ApiModelProperty("操作方法")
    private String operationMethod;

    /**
     * 请求url
     */
    @ApiModelProperty("请求url")
    private String requestUrl;

    /**
     * 操作IP
     */
    @ApiModelProperty("操作IP")
    private String operationIp;

    /**
     * 操作状态
     */
    @ApiModelProperty("操作状态")
    private String operationStatus;

    /**
     * 最后操作时间
     */
    @ApiModelProperty("最后操作时间")
    private LocalDateTime lastOperationTime;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getOperationType() {
        return operationType;
    }

    public void setOperationType(String operationType) {
        this.operationType = operationType;
    }

    public String getOperationMethod() {
        return operationMethod;
    }

    public void setOperationMethod(String operationMethod) {
        this.operationMethod = operationMethod;
    }

    public String getRequestUrl() {
        return requestUrl;
    }

    public void setRequestUrl(String requestUrl) {
        this.requestUrl = requestUrl;
    }

    public String getOperationIp() {
        return operationIp;
    }

    public void setOperationIp(String operationIp) {
        this.operationIp = operationIp;
    }

    public String getOperationStatus() {
        return operationStatus;
    }

    public void setOperationStatus(String operationStatus) {
        this.operationStatus = operationStatus;
    }

    public LocalDateTime getLastOperationTime() {
        return lastOperationTime;
    }

    public void setLastOperationTime(LocalDateTime lastOperationTime) {
        this.lastOperationTime = lastOperationTime;
    }

    @Override
    public String toString() {
        return "OperationLog{" +
            "id = " + id +
            ", userName = " + userName +
            ", operationType = " + operationType +
            ", operationMethod = " + operationMethod +
            ", requestUrl = " + requestUrl +
            ", operationIp = " + operationIp +
            ", operationStatus = " + operationStatus +
            ", lastOperationTime = " + lastOperationTime +
            "}";
    }
}
